MOVED_LEFT = 'MOVED_LEFT'
MOVED_RIGHT = 'MOVED_RIGHT'
MOVED_UP = 'MOVED_UP'
MOVED_DOWN = 'MOVED_DOWN'
WAITED = 'WAITED'
INVALID_ACTION = 'INVALID_ACTION'

BOMB_DROPPED = 'BOMB_DROPPED'
BOMB_EXPLODED = 'BOMB_EXPLODED'

CRATE_DESTROYED = 'CRATE_DESTROYED'
COIN_FOUND = 'COIN_FOUND'
COIN_COLLECTED = 'COIN_COLLECTED'

KILLED_OPPONENT = 'KILLED_OPPONENT'
KILLED_SELF = 'KILLED_SELF'

GOT_KILLED = 'GOT_KILLED'
OPPONENT_ELIMINATED = 'OPPONENT_ELIMINATED'
SURVIVED_ROUND = 'SURVIVED_ROUND'

LOOP = "LOOP"
WAIT_AFTER_BOMB = "WAIT_AFTER_BOMB"
BOMB_AFTER_BOMB = "BOMB_AFTER_BOMB"

CIRCLE = "CIRCLE"
CLOSE_TOO_BOMB = "CLOSE_TOO_BOMB"

# 层次强化学习
TARGET1_COMPLETED = "TARGET1_COMPLETED"   # 任务1完成
TARGET1_FAIL = "TARGET1_FAIL"             # 任务1金币被别人吃了
TARGET1_TIMEOUT = "TARGET1_TIMEOUT"       # 任务1超时
TARGET2_COMPLETED = "TARGET2_COMPLETED" # 放完炸弹
TARGET2_FAIL = "TARGET2_FAIL"           # 任务2箱子被别人炸了
TARGET2_TIMEOUT = "TARGET2_TIMEOUT"     # 任务2炸箱子超时
TARGET3_COMPLETED = "TARGET3_COMPLETED"   # 任务3完成
TARGET3_TIMEOUT = "TARGET3_TIMEOUT"       # 任务3超时
TARGET3_FAIL = "TARGET3_FAIL"             # 任务3失败(该agent被别人杀掉)
CORRECT_DIRECTION = "CORRECT_DIRECTION"   # 正确的方向
PLACEHOLDER_EVENT = "PLACEHOLDER_EVENT"   # 不动

FINISH = "FINISH"
# 其他用到奖励: WAITED PLACEHOLDER_EVENT KILLED_SELF GOT_KILLED KILLED_OPPONENT
# 为保证高效完成任务 完成途中获得的金币不算奖励